// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Pinco hesabınıza giriş etmək üçün addımlar – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Pinco hesabınıza giriş etmək üçün addımlar

Pinco platformasında giriş prosesi necə həyata keçirilir

Pinco, istifadəçilərinə müxtəlif xidmətlər təqdim edən rəqəmsal platformadır. Bu xidmətlərdən faydalanmaq üçün ilk addım hesabınıza daxil olmaqdır. Bu məqalədə, Pinco-da təhlükəsiz və problemsiz giriş üçün lazım olan bütün məlumatları tapa bilərsiniz. Platformanın əsas giriş üsulu olan pinco giris mexanizmi həm veb-sayt, həm də mobil tətbiq üzərindən eyni qaydada işləyir.

Pinco girişi üçün ilkin tələblər

Pinco hesabınıza daxil olmaq üçün əvvəlcə müəyyən şərtləri yerinə yetirməlisiniz. Əgər artıq qeydiyyatdan keçmisinizsə, giriş məlumatlarınızı hazır saxlamalısınız. Yeni istifadəçilərin ilk növbədə qeydiyyat prosesini tamamlaması tələb olunur. Giriş zamanı stabil internet əlaqəsinin olması da prosesin sürətli olması üçün vacibdir.

Pinco giriş məlumatlarınızı yoxlayın

Giriş cəhdlərinizin uğurlu olması üçün istifadəçi adı və ya e-poçt ünvanınızı, həmçinin şifrənizi düzgün daxil etdiyinizə əmin olun. Pinco sistemində şifrələr həssaslığa malikdir, yəni böyük və kiçik hərflər fərqli qəbul edilir. Əgər məlumatlarınızı unutmusunuzsa, “Şifrəni unutdum” seçimindən istifadə edə bilərsiniz.

Pinco veb-saytı vasitəsilə giriş

Ənənəvi üsul olan veb-brauzer vasitəsilə giriş, Pinco istifadəçiləri arasında geniş yayılıb. Bu üsul üçün istənilən müasir brauzerdən (Google Chrome, Mozilla Firefox, Safari) istifadə edə bilərsiniz. Proses bir neçə sadə addımdan ibarətdir.

İlk olaraq, Pinco-nun rəsmi veb-saytını brauzerinizin ünvan sətirinə daxil edin. Açılan səhifədə, adətən sağ üst küncdə yerləşən “Daxil ol” düyməsini tapın və klikləyin. Sizi qarşılayan forma aşağıdakı məlumatları tələb edəcək:

  • Qeydiyyat zamanı qeyd etdiyiniz e-poçt ünvanı və ya istifadəçi adı.
  • Hesabınız üçün təyin etdiyiniz şifrə.
  • Bəzi hallarda, təhlükəsizliyi artırmaq məqsədilə, qısa müddətli doğrulama kodunun daxil edilməsi.
  • Yadda saxla” funksiyası ilə giriş məlumatlarınızın cihazınızda qeyd olunması seçimi (yalnız şəxsi cihazlarda tövsiyə olunur).

Bütün sahələri düzgün doldurduqdan sonra “Daxil ol” düyməsinə basın. Əgər məlumatlar doğrudursa, birbaşa Pinco şəxsi kabinetinizə yönləndiriləcəksiniz.

Pinco mobil tətbiqində hesaba giriş

Mobil cihazlar üçün nəzərdə tutulmuş Pinco tətbiqi, giriş prosesini daha da rahat edir. Tətbiqi əvvəlcədən App Store və ya Google Play-dən yükləməlisiniz. Tətbiq açıldıqdan sonra giriş interfeysi sizi qarşılayacaq. Burada da eyni məlumatlar tələb olunur.

Pinco

Mobil tətbiqin üstünlüklərindən biri, barmaq izi və ya üz skanı kimi biometrik giriş metodlarını dəstəkləməsidir. Bu funksionallığı aktiv etdikdən sonra, hər dəfə şifrə daxil etmədən hesabınıza sürətli daxil ola bilərsiniz. Bu, həm təhlükəsiz, həm də vaxta qənaət edən bir üsuldur.

Pinco tətbiqində təhlükəsizlik parametrləri

Pinco mobil tətbiqi, məlumatlarınızın qorunması üçün əlavə tədbirlər görür. Məsələn, tətbiq bağlandıqdan sonra müəyyən müddət keçdikdə avtomatik olaraq hesabdan çıxış edə bilər. Bu parametrləri şəxsi kabinetinizin təhlükəsizlik bölməsindən öz istəyinizə uyğun konfiqurasiya edə bilərsiniz.

Pinco

Giriş zamanı qarşılaşa biləcəyiniz problemlər və həll yolları

Bəzən texniki səbəblərdən və ya istifadəçi səhvlərindən giriş prosesində çətinliklər yarana bilər. Pinco texniki dəstək komandası bu kimi hallar üçün ən çox rast gəlinən problemləri və onların həllərini siyahıya almışdır.

Problem Ola biləcək səbəb Həll tədbiri
“Yanlış məlumat” xətası Daxil edilən e-poçt, istifadəçi adı və ya şifrənin səhv olması. Məlumatları diqqətlə yenidən yazın. Şifrəni gizlədən simvola klikləyərək görünür hala gətirin.
Hesab bloklanıb Ardıcıl uğursuz giriş cəhdləri. Bir müddət gözləyin (30 dəq.-1 saat) və ya dərhal şifrə bərpası funksiyasından istifadə edin.
Səhifə açılmır Brauzer keş məlumatları, zəif internet və ya texniki işlər. Brauzer keşini təmizləyin, internet əlaqənizi yoxlayın, Pinco sosial media səhifələrində texniki bildirişlərə baxın.
Doğrulama kodu gəlmir E-poçt ünvanında səhv, SMS göndərilməsi ilə bağlı problem. Spam qovluğunu yoxlayın, telefon nömrənizin düzgünlüyünə əmin olun, bir neçə dəqiqə gözləyin.
Mobil tətbiq işləmir Tətbiqin köhnə versiyası, cihazın uyğunsuzluğu. Tətbiqi ən son versiyaya yeniləyin, cihazınızı yenidən başladın.
Biometrik giriş işləmir Cihazda biometrik qeydiyyat olunmayıb, tətbiqdə icazə verilməyib. Cihazınızın parametrlərində biometrik məlumatları yenidən qeyd edin, tətbiqdə icazələri yoxlayın.

Pinco hesab təhlükəsizliyini necə gücləndirmək olar

Giriş prosesi təhlükəsizliyi yalnız şifrədən asılı deyil. Pinco, istifadəçilərinə hesablarını daha yüksək səviyyədə qorumaq üçün bir sıra vasitələr təqdim edir. Bu vasitələrdən istifadə etməklə, üçüncü şəxslərin hesabınıza yetkisiz giriş cəhdlərinin qarşısını almaq mümkündür.

  • Güclü və mürəkkəb şifrə yaradın: Ən azı 8 simvoldan ibarət, böyük və kiçik hərflər, rəqəmlər və xüsusi simvollar ehtiva edən şifrələr seçin.
  • İki faktorlu autentifikasiya (2FA) aktiv edin: Bu, giriş zamanı şifrə ilə yanaşı, mobil cihazınıza göndərilən bir dəfəlik kodu da daxil etməyi tələb edir.
  • Şəxsi məlumatlarınızı heç kimlə paylaşmayın: Pinco rəsmi işçiləri heç vaxt sizdən şifrənizi e-poçt və ya telefonla soruşmaz.
  • Mütəmadi olaraq şifrənizi dəyişin: Hər 3-6 aydan bir yeni şifrə təyin etmək təhlükəsizlik təcrübəsidir.
  • Şübhəli fəaliyyəti yoxlayın: Pinco şəxsi kabinetində son giriş tarixlərinizi və aktiv sessiyalarınızı nəzarət edə bilərsiniz.

Pinco-da girişdən sonrakı ilk addımlar

Hesabınıza uğurla daxil olduqdan sonra, Pinco platformasının bütün imkanları sizin üçün əlçatan olur. Şəxsi kabinetiniz sizə profil məlumatlarınızı idarə etməyə, təhlükəsizlik parametrlərini konfiqurasiya etməyə və platformanın əsas xidmətlərinə daxil olmağa imkan verir. İlk dəfə daxil olan istifadəçilərə, profil məlumatlarını tamamlamaq və təhlükəsizlik parametrlərini yoxlamaq tövsiyə olunur.

Pinco platformasında giriş prosesi diqqətlə hazırlanmışdır ki, həm təhlükəsiz, həm də istifadəçi üçün əlverişli olsun. Qaydalara əməl etməklə və təklif olunan təhlükəsizlik vasitələrindən istifadə etməklə, hesabınızı qorumaq və platformanın bütün funksiyalarından səmərəli şəkildə faydalanmaq mümkündür.

Design and Develop by Ovatheme